package com.bestcem.xm.user.entity.mysql;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 组信息表
 *
 * @author wangyunyun <yunyun.wang@idiaoyan.com>
 * @version v1.0
 * @date 2022/1/4 10:30
 */
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@TableName("ds_user_group")
public class UserGroup extends BaseEntity {
    /**
     * 组id
     */
    private String groupId;

    /**
     * 组名
     */
    private String groupName;

    /**
     * 组编码
     */
    private String groupCode;

    /**
     * 组类型 0：默认、1：层级
     */
    private Integer groupType;

    /**
     * 组状态 0：活动的、1：禁用的、2：隐藏、3：已删除
     */
    private Integer groupStatus;

    /**
     * 组排序
     */
    private Integer groupOrder;

    /**
     * 当前组下是否存在子组：0：没有，1：有
     */
    private Integer haveChildrenFlag;

    /**
     * 版本号
     */
    private Integer versionId;

    /**
     * 父组ID
     */
    private String groupParentId;

    /**
     * 组织ID
     */
    private String orgId;

    /**
     * 层级ID
     */
    private String groupLevelId;

    /**
     * 层级序列号,公司内唯一
     */
    private Integer seq;

    /**
     * 负责人id
     */
    private String adminId;

    /**
     * 组负责人姓名
     */
    private String adminName;

    /**
     * 祖先列表，第一个为父节点ID，以此类推
     */
    private String groupParentIds;

    /**
     * 子节点顺序，seq排列
     */
    private String childrenOrder;

    public UserGroup(String groupId, Integer groupStatus) {
        this.groupId = groupId;
        this.groupStatus = groupStatus;
    }

    public UserGroup(String groupId, String orgId) {
        this.groupId = groupId;
        this.orgId = orgId;
    }
}